Plural machine tool and part handling control system

ABSTRACT

A digital computer simultaneously controls the operation of plural machine tools and related apparatus, and coordinates the movement of parts and tools between storage areas and each of the machine tools. The parts which are to be worked on are either randomly or selectively supplied to any particular machine tool. Tools used in common by the machine tools are stored in a central storage area, and are selectively conveyed to a particular machine tool in accordance with the operations to be performed on a part.

United States Patent Donald G. Fair Belvldere;

Harold L Baeverstad, Rockford; Carl F. Eriltson, Belvidere, [11.

Nov. 20, 1967 Apr. 27, 1971 Sundstrand Corporation Inventors Apple No.Filed Patented Assignee PLURAL MACHINE TOOL AND PART HANDLING CONTROLSYSTEM Primary Examiner-Paul .I. Henson Assistant Examiner-Melvin B.Chapnick Atmrney- Hofgren, Wegner, Allen, Stellman & McCord ABSTRACT: Adigital computer simultaneously controls the 18 Cums Drawing Figsoperation of plural machine tools and related apparatus, and US. Cl .1340/1725, coordinates the movement of parts and tools between storage23S/151.1 1, 318/562 areas and each of the machine tools. The partswhich are to be Int. Cl G061 9/00, worked on are either randomly orselectively supplied to any G061: 17/00 particular machine tool. Toolsused in common by the Field of Search ..235/l51.1l; machine tools arestored in a central storage area, and are 340/213; 214/1 1; 104/88;318/20. I 3; 235/157; selectively conveyed to a particular machine toolin ac- 340/147; 340/ 1 72.5 cordance with the operations to be performedon a part.

DIITQL 33.

coMPurER PATENTED APRZT ISTI SHEET 1 (1F 9 DOME \EQiQ wok WR- WmoPATENTEUAPRZYISH 3576.540

SHEEI 2 OF 9 A/CMF 8 i p161 r41.

' coMPu ffl? PATENTED APR27 1971 SHEET 5 OF 9 COMPUTED? TIME 5H/IEECOMMON 570F46 1 96/1/77 PATENTED mm :91:

SHEU 8 BF 9 PLURAL MACHINE TOOL AND PART HANDLING CONTROL SYSTEM Thisinvention relates to a control system, and more particularly to a systemwhich controls and coordinates the operation of plural machine tools andrelated apparatus and the part and tool handling mechanisms associatedtherewith.

In prior systems for performing multiple machining operations on a part,there have been attempts to provide coordination between plural machinetool stations and the transfer mechanism for transporting a workpiece orpart between each station after completion of a machining operation.Such attempts have generally been concerned with increasing theotherwise limited number of variations which can be made in the finalmass produced product.

When only a few parts are to be made, the limitations inherent in priorautomatic machine tool systems become apparent. Individual machine toolsin conventional transfer lines each perform a limited number ofrecurring machining operations, and cannot be readily converted toperform a number of highly complex machining operations. Furthermore,the transfer line itself conveys parts through a set pattern whichallows only a limited number of variations. Each new product, however,may require that a raw part travel between the machine tools in acompletely different order, necessitating the rebuilding of the transferline. If the often-sought-after goal of an 37 automatic factory" is tobe successful for piece part production, a system considerably moreversatile than a conventional machine tool transfer line must beprovided.

The present invention overcomes the disadvantages of prior automaticmachining systems, particularly when used for less than large scale massproduction. More particularly, some machine tools in the system aredesirably of the general purpose type, capable of performing most or allof the machining operations which are to be performed at any given stagein production. A central computer stores computer programs forcontrolling the machining operations performed on a part, regardless ofthe particular machine tool at which the part is located. Unlike priortransfer lines, the system is capable of transporting a part to any ofthe machine tool stations for any particular machining operation whichis to be performed, under control of stored routines and automatichandling equipment. Should any one machine tool station becomeinoperative, the partially completed part may be transferred to anyavailable machine tool station for completion of the machiningoperations.

Different embodiments of the invention provide different degrees ofautomation, and the embodiment chosen for any given installation willdepend upon the requirements of the user. All embodiments use a single"on-line computer, that is, all machine tools in the system havecontinuous access to the computer, and can request or be given commandsin real time when control data is required.

According to the first embodiment of the invention, the parts may berandomly supplied to any one of a number of machine tool stations, atwhich the identity of the part is determined and transmitted to thecomputer. In response thereto, the computer sends the proper program formachining the part to the machine tool at which the part is located.

In accordance with another embodiment of the invention, the computerselects a part which is to be machined at a particular machine toolstation, directs the selected part from a central storage area to thepreselected machine tool station, and thereafter controls the machinetool in accordance with a program corresponding to the machiningoperations which are to be performed on the part. The part is identifiedby a process number or code which serves to identify the computerprogram which directs the desired series of operations on all similarparts. At the completion of the program, the part, now modified by themachining operations just completed, is reidentified by a new processnumber.

The process number may be carried on the part itself or on pallets forconveying the parts to the machine tools. Alternatively, the processnumber and instantaneous location of each part may be continuouslystored in the on-line computer memory, entirely eliminating thenecessity for identifying numbers carried along with the parts.

As disclosed in the final embodiment of the invention, separate storageareas are provided both for parts and for the tools used by more thanone machine tool station. Each tool is identified by a tool number orcode. Both the tool numbers and tool locations, as well as the processnumbers and part locations are continuously recorded in the on-linecomputer memory. The computer controls the conveying of selected partsand tools to a selected machine tool station, at which the machine toolis controlled by a program corresponding to the process number of theselected part. At the completion of the program, the part isreidentified in the computer memory with a new process number, and thepart and tools are routed to storage or other stations as required.

One object of this invention is the provision of an improved controlsystem for plural machine tools and related supporting apparatus and thepart handling mechanism associated therewith.

One feature of this invention is the provision of a plural machine toolssystem in which a part may be machined at any one of a number of machinetool stations, each machine tool being under control of a program from acentral source of programs available to all machine tools.

Another feature of this invention is the provision of a system in whichthe individual and the over-all operations ofa plurality ofsimultaneously operating general purpose machine tools and associatedpart handling mechanisms are controlled by a single on-line computer.

Yet another feature of this invention is the provision of a controlsystem which automatically identifies a part, and in response theretocauses a series of machining operations to be performed under control ofa computer stored program.

A further feature of this invention is the provision of a control systemwhich selects a particular part from a storage area for many differentparts, conveys the selected part to a selected one of several machinetool stations, controls the operation of the selected machine toolstation from a program of prepared machining operations chosen from acentral library of different programs, and thereafter reidentifies thepart in accordance with the machining operations just completed be forereturning the part to a storage area or sending it to a differentmachining center.

Still a further feature of this invention is the provision of a computercontrolled machine tool system which economically produces a widevariety of different machined items each having a limited productionrun.

Yet a further feature of this invention is the provision of a machinetool and a related apparatus system operating under control of acomputer program, which system can sense the occurrence of a conditionwhich desirably requires correction before completing further machiningoperations, and is responsive to the sensed condition to modify theprogrammed operation of the system.

Further features and advantages of the invention will be apparent fromthe following specification and from the drawings, in which:

FIG. 1 illustrates a plural machine tools and part handling system fortransporting random parts to individual machine tools, and fortransmitting the identity of the part to an on-line computer whichcontrols the operation of all machine tools;

FIG. 2 illustrates in more detail a typical machine tool station, aspresented by station NCMT-B of FIG. 1;

FIG. 3 illustrates a typical read sensor and coded part pallet readthereby, located at machine tool station NCMT-C of FIG. 1;

FIG. 4 illustrates a typical write or readdressing unit and associatedcoded part pallet, located at machine tool station NCMT-C of FIG. 1;

FIG. 5 is a schematic diagram of the plural machine tools and parthandling system of FIG. 1',

FIG. 6 illustrates a plural machine tools and part handling system witha common storage facility for parts, a conveying mechanism fortransporting a selected part to a selected one of the machine tools, andan on-line computer which controls the operation of all machine toolsand reidentifies a part after completion of a machining operation;

FIG. 7 is a schematic diagram of the plural machine tools and parthandling system of FIG. 6;

FIG. 8 illustrates a plural machine tools and part and tool handlingsystem with common storage facilities for parts and tools and an on-linecomputer for controlling and coordinating the operation of the parts andtools conveying mechanisms and the operation of the machine tools;

FIG. 9 is a schematic diagram of the plural machine tools and part andtool handling system of FIG. 8;

FIG. 10 illustrates a portion of the temporary and the fixed toolstorage facility for one of the machine tool stations of FIG. 8;

FIG. I1 is a fragmentary view along lines 11-11 of FIG. I0, showing anentry station for removing tools from the common tool storage facilityshared by all machine tools;

FIG. 12 is a fragmentary view along lines 12-12 of FIG. 10, showing anautomatic tool changer station for removing a tool from temporary toolstorage, and the lift mechanism for raising tools from fixed toolstorage to the position of the automatic tool changer station;

FIG. 13 is a flow diagram of a master control program for the on-linecomputer of FIG. 8; and

FIG. 14 is a flow diagram of a subroutine performed by the masterprogram of FIG. 13.

While illustrative embodiments of the invention are shown in thedrawings and will be described in detail herein, the invention issusceptible of embodiment in many different forms and it should beunderstood that the present disclosure is to be considered as anexemplification of the principles of the invention and is not intendedto limit the invention to the embodiments illustrated. The scope of theinvention will be pointed out in the appended claims.

GENERAL OPERATION In the drawings, three embodiments of the inventionare illustrated in FIGS. 1-5, 6-7 and 8 14 respectively. As best seen inFIGS. 1, 6 and 8, each embodiment uses a plurality of numericallycontrolled machine tools 20, of which three have been illustrated,labeled NCMT-A through NCMT-C, in conjunction with the part handlingapparatus associated therewith. The machine tools are preferably generalpurpose, multiaxis machine tools adapted for numerically controlledoperation, and each capable of performing a number of diverse machiningoperations, such as drilling, milling and boring, Each machine tool 20includes a worktable 22 to which a part or workpiece is secured. Theworktable, and hence also the part, may be translated and/or rotatedalong several axes with reference to a spindle head 23 which holds atool (not illustrated) for performing a machining operation on the part.

Each part 25 is secured to a pallet 26 which serves as a carrier fortransporting the part to the machine tools, and further serves as areference base during the machining operations. Each pallet includespart locators which orient and retain the part with respect to certainfixed reference points, in a manner similar to modular fixtures and topallets used in transfer lines. It is not necessary, however, that thepart be secured to a pallet, and the part alone could be conveyed to themachine tools and clamped into position by a suitable index mechanism asused in some conventional transfer lines.

The parts 25 are individually identified by a process indicia, typicallyin the form of a coded number, which is representative of the presentstatus of the part as indicated by the history of machining operationsalready performed thereon. The process number changes afier a series ofmachining operations is completed, in order to reidentify the part as toits present status. For example, a particular process number mayindicate that a certain number of holes of specified diameter, spacingand depth have been drilled in a blank engine block. The process numbermay be carried along with each part, or a different means may beprovided to identify the process number of unlabeled parts, as will beexplained later.

All machine tools 20 are simultaneously controlled by a single on-linegeneral purpose digital or analog-digital hybrid computer 30. The memoryof the computer stores a plurality of programs which are each capable ofcontrolling any one of the numerically controlled machine tools in orderto produce a particular part. Separate, shared, or multiplexed datachannels or links 31 couple the output of the computer to each of themachine tools. A master control couples an individual machine toolprogram to the data link or channel 31 directly associated with themachine tool which is to perform the machine operation on a particularpart, as identified by its process number. It should be understood thatthe eventual direct data links may be coupled to the output of thecomputer by way of additional data links which are shared in common withother machine tool stations.

The output from the digital computer 30 is similar to the outputfromconventional tape readers for numerically controlled machine tools, andconsists of a series of blocks of binary coded control information, atleast some of the blocks being representative of the direction andamount of movement of the controlled machine tool elements from theirprevious position. Each machine tool 20 has associated therewith anumerical control of conventional design for converting the binary codedinformation into analog signals which drive the motors (not illustrated)associated with worktable 22 and spindle head 23.

Parts 25 may be either randomly or selectively supplied to the machinetool stations, in accordance with different embodiments of theinvention. In the first embodiment, illustrated in FIGS. 1-5, parts arerandomly supplied to the machine tools, and are identified when theyreach the machine tool station in order to select the proper programthat is to be coupled from computer 30 to the data link 31 connectedwith that machine tool station.

More particularly, a belt conveyor 40, which moves continuously pastinput stations 42 for each of the machine tools 20, serves as theincoming storage area for parts which are to be machined. A pneumatic orhydraulic cylinder 44 has a plunger 45 which when actuated is propelledtransversely across conveyor 40 in order to push a part pallet onto anadjacent input station 42 for the machine tool associated therewith.Station 42 has freely rotatable rollers for gravity feeding the palletto a pallet loader for the machine tool 20.

Parts on conveyor 40 are supplied to a machine tool station either inresponse to an operator manually selecting the part he wishes tomachine, or in response to a machine tool being available to machine anew part. Once the part reaches a given machine tool station, itsprocess number is identified and transmitted to computer 30. Computer30, in response to the process number from a given machine tool,connects a program corresponding to the machining operations which areto be performed on that part to the data link 31 for that machine tool.

The identification of the process number may be made visually by anoperator who observes the part and causes the process numbercorresponding thereto to be transmitted from an operator console 47 tothe computer. Alternatively, the identification may be madeautomatically by a read unit 49 which scans a process number recordmedium, such as an identification card 50 carried by the pallet 26 forthe part, and transmits the process number carried by the card to thecomputer.

When the machining operations on a program are completed, the part isejected onto an output station 53 which empties onto another beltconveyor 54 which serves as the outgoing storage area for completedparts. At those machine tool stations using read units 49 for automaticpart identification, a write unit 56 associated with the output station53, substitutes a new identification card 50 for the old card in orderto reidentify the part in view of the machining operation justcompleted. The parts on conveyor 54 may consist of finished products, orintenncdiate parts in the manufacturing process which are conveyed backto incoming conveyor 40 for further machining operations by the machinetools.

In the second embodiment illustrated in FIGS. 6 and 7, computer 30selects from the incoming storage area the parts which are to bemachined, conveys the same to a predetermined machine tool station, andthen couples the program corresponding to the selected pan to the datalink 31 for the predetermined machine tool station. More particularly,the incoming storage belt conveyor 40 is arranged into a continuous loopfor circulating parts 25 until they are needed. Each part 25 isidentified by the process number identification cards 50 carried onpallets 26. When computer 30 determines that a given program is to berun at a given machine tool station, as for example NCMT-B, read unit 49opposite input station 42 for NCMT-B is activated to scan the cards 50which move thereby on the loop conveyor. When a process number is readwhich identifies the part necessary for the program to be run, pneumaticcylinder 44 is energized to unload the part onto the input station 42for NCMT-B. At the same time, computer 30 couples the preselectedprogram to the data link 31 for machine tool station NCMT-B.

At the completion of the program, the part is ejected onto the outputstation 53, at which write unit 56 substitutes a new card for theprevious card in order to reidentify the part by a new process number.The part is thereafter released onto output conveyor 54, which returnsthe machined part to the input storage area loop conveyor 40. Separateinput and output conveyors 60 and 61, respectively, add new parts orremove stored parts from loop conveyor 40.

In the final embodiment of the invention illustrated in FIGS. 8-14, bothparts and tools may be selectively conveyed to a predetermined machinetool station. The identities of all of the parts and tools, as well astheir instantaneous location in the system, are retained in the memoryof computer 30, completely eliminating the necessity for part and toolidentification cards or the like, and read and write address units. Allof the machine tools in the system are divided into groups serviced byseparate part and tool storage areas located adjacent thereto.

As seen best in FIG. 8, machine tools NCMT-A through C are adjacent acontinuous incoming storage area conveyor 40 formed into a loop, andidentified as PARTS LOOP l. A combined incoming and outgoing partsstation 70, as a reversible direction conveyor belt, serves to bothremove pallets 26 from conveyor 40 for loading onto machine tool 20, andto remove pallets from the machine tool and reload them onto the temporary storage loop conveyor. Parts are removed from temporary storageloop 40 by outgoing conveyor 61, which serves as one of the inputs forraw parts to be machined by a further group of machine tools (notillustrated) associated with PARTS LOOP N, where N represents anyinteger. In this manner, an automated assembly line is formed which issuitable for either low or high volume production.

In a manner similar to parts storage, the tools used in common by two ormore of the machine tools are stored on a continuous belt conveyor 80,identified as TOOLS LOOP 1. Each tool 81 (see FIGS. l012), identified bya tool number, is individually held in a shuttle car 83 on conveyor 80.All tools 81 which are to be used by a particular machine tool duringthe running of a program are shunted from loop 80 onto a temporarystorage side track 85 for the machine tool station. An automatic toolchanger 87 at each machine tool removes tools from side track 85 andplaces them in the associated spindle head 23.

Computer 30 continuously stores the process numbers and the tool numberswhich identify all of the parts and tools, respectively, in the system.For example, when a particular part is transported from PARTS LOOP 1onto outgoing conveyor 61, the computer transfers the process numberassociated therewith into a memory section storing the identity of partslocated at the input area for PARTS LOOP N. Computer 30 also selects theparticular machine tool 20 at which a program is to be run, and causesthe part and tools necessary for the program to be conveyed from theparts and tools storage areas to the selected machine tool. At thecompletion of the program, die part is reidentified in the computermemory with a new process number corresponding to the machiningoperation just completed, and thereafler the part and tools are returnedto their respective storage areas.

While three machine tool stations have been illustrated in the drawings,it should be understood that, in a complete factory, additional machinetool stations and related apparatus may be controlled and coordinated bythe computer, in the same manner as described herein for the illustratedmachine tool stations. Related apparatus may include an inspectionstation at which dimensions and tolerances are sensed and compared withcalculated values in order to check on the accuracy of the priormachining operations. Other examples of related apparatus will beapparent to those skilled in the art.

A detailed description of the structure common to each embodiment of theinvention, as well as the structure and operation of each of the threeembodiments, will now be presented.

REPRESENTATIVE MACHINE TOOL STATION In FIG. 2, a representative, generalpurpose, numerically controlled machine tool 20 of a type suitable foruse with the invention is illustrated, in conjunction with stationNCMT-B of FIG. 1. A bed or base supports a pair of rotary worktables 22mounted on a rotary pallet changer I02. While dual worktables decreasethe amount of time necessary to load and unload a part, it should beunderstood that only one worktable lS necessary.

When using dual worktables, a new part and pallet is loaded on aninactive worktable while another part is being machined on the otherworktable. At the completion of the machining operations, pallet changerI02 rotates in order to position the newly loaded part for a machiningoperation, while the previously machined part may be removed from itsworktable. Conventional automatic mechanism (not illustrated), such asused in transfer lines, may be used to load and unload the part palletsonto and off of the worktables.

A column, which extends upward from base 100, supports a vertical saddle103 upon which a tool mechanism is mounted. A transmission head 107,mounted on vertical saddle 105, drives spindle head 23 and, if desired,an auxiliary head 109 adjacent thereto.

Conventional ways and linear tables (not illustrated) define threetranslational axes along which worktable 22 and spindle head 23 canmove. An additional two axes of movement are provided by the rotationalmovement of both worktable 22 and spindle head 23. The representativelyillustrated five axes machine tool is a Sundstrand OMNIMIL, Model OM-3,equipped with an automatic pallet changer. However, any general purposemachine tool suitable for numerically controlled operation may be usedin place thereof. It is merely necessary to couple the input of theconventional numerical control unit for the machine tool to channel 31of computer 30, rather than to the output of a tape reader. Similarly,it should be understood that while two or more machine tools preferablycan perform the same machining operations, it is in no way necessarythat the machine tools be in other ways identical to each other.

RANDOM SUPPLY OF PARTS (FIGS. 1-5) In FIGS. 1-5, the first embodiment ofthe invention is illustrated, in which parts are randomly supplied toeach of the machine tools 20 in the system. The random supply of partsto a machine tool, and the subsequent identification of the part, may beaccomplished by different methods, as represented by the structureassociated with each of the machine tools NCMT-A through C.

At NCMT-A, operator console 47 includes a selector switch I20 whichactuates pneumatic cylinder 44 in order to remove a pallet from conveyorbelt 40 when an operator visually observes a part on conveyor 40 whichrequires special attention. Such attention may be required, for example,because the part is a seldom manufactured item and the program thereforeis not normally stored in the memory of computer 30. By means of atelephone 122 at console 47, the operator converscs with a computerprogrammer remotely located at a library which stores seldom usedprograms. The desired program is loaded by the programmer into a manualprogram loading unit 124 in order that computer 30 may have availablethe necessary program. In addition, NCMT-A is useful when a new programis being developed for machining a part, or for making corrections in anexisting program.

At the remaining machine tools NCMT-B and C, pneumatic cylinder 44 isactuated whenever a part passes adjacent thereto and one of theworktables 22 is empty. A switch 130 has an arm 13] located in the pathof a pair of projections I33 extending from opposite sides of the rotarypallet changer 102. When a machining operation has been completed, therotation of pallet changer I02 causes the projection 133 to strike arm13], actuating switch 130 to indicate that a worktable is about to beempty. Thereafter, the next part 25 which passes cylinder 44 will beejected onto input station 42.

The passage of a part is detected by a photoelectric circuit 134 inwhich a photobeam I35 extends from a light source 136 to a photoelectriccell 137 located on the opposite side of conveyor 40. As the part breaksthe photobeam 135, photoelectric cell 137 is darkened, producing anoutput signal. The breaking of photobeam 135 has no effect on cylinder44 unless switch 130 has been actuated just prior thereto. Uponactuation of cylinder 44, the circuit associated with switch 130 isreset, in order that the next part breaking photobeam 135 will not beejected onto input station 42. In this manner, parts are automaticallytransported to either NCMT-B and/or C whenever a worktable is available.After being removed from conveyor 40, the identity of the part isdetermined.

At NCMT-B, an operator visually observes the part at input station 42,and manually depresses pushbuttons 140 at console 47, seen in moredetail in FIG. 2, in order to identify the process number of the part.

Preferably, however, the identification of the process number is madeautomatically, as illustrated at station NCMT- C. Upon being ejectedfrom conveyor 40, a read unit 49, FIG. 3, reads the identification card50 carried with part 25 and transmits signals identifying the processnumber to computer 30. The process number identification card 50,mounted on the side of the part pallet 26, carries a binary code formedfrom the presence or absence or indicium such as darkened areas I50extending horizontally across the card. The presence of a darkened area150 represents a binary bit I, while the absence of a darkened area, asindicated by dashed lines represents a 0 binary bit. The mostsignificant bit is carried on the right-hand side of the card. For theparticular card illustrated in the drawings, indicium 150 and 151identify the binary number 00! 101, which represents in decimal form theprocess number 13.

Card 50 is removably held against pallet 26 by a pair of fixed L-shapedbrackets I54 and 155 which form slots for the vertical ends of card 50.The bottom portion of card 50 rests against a pair of horizontal fingers157 and I58 connected through a rod 159 to a lever I60. The lever may berotated to move fingers 157, I58 away from the bottom edge of the card,allowing the card to drop through the slots. The fingers are normallymaintained in a horizontal plane, to retain card 50 in the positionillustrated in FIG. 3, by a spring 163 which biases lever 160 in avertical plane.

The process number coded on card 50 is read by read unit 49 when thepallet passes thereby. A light source I65 projects a photobeam I66against the binary code on card 50. A photocell 167 is positioned in thepath of the beam reflected off the card. When photobeam 166 strikes ablackened area on the card, the reflected light is reduced and photocellI67 is darkened, producing a change in the electrical output signalwhich indicates the presence of a 1 binary bit.

By means of conventional gating apparatus (not illustrated), theoperation of read unit 49 is synchronized with the passage of card 50,by making photocell 167 operative only during the time at which a codedarea of card 50 passes photobeam 166. While a read unit for generatingbinary coded signals in serial form has been illustrated in FIG. 3, itwill be appreciated that such is merely representative of the manyreaders having an output in either serial or parallel form which couldbe used in place thereof.

After the read operation, the part is loaded on the machine tool atstation NCMT-C of FIG. I. Upon the completion of the machiningoperations, computer 30 rotates worktable 22 to a position which allowspallet 26 to be unloaded onto output station 53 with an orientation sothat the side of the pallet which carries card 50 passes adjacent writeunit 56. The write unit 56 replaces the old card with a new card whichidentifies a new process number for the part, as illustrated in detailin FIG. 4.

As pallet 26 reaches the proper position with reference to write unit56, conventional apparatus (not illustrated) temporarily delays or stopsthe pallet for a short time period sufficient to complete a write cycle.As pallet 26 is brought to a stop, an arm 170, FIG. 4, extends againstlever 160, rotating fingers 157 and 158 away from the bottom of card 50to allow the card to drop through the slots formed by brackets 154 and155. Arm 170 then retracts, and a new blank card 50 is guided along apair of tracks I73 onto the position formerly occupied by the previouscoded card.

When the blank card 50 is in position, resting against fingers I57 and158, a printing mechanism is actuated to cause a new binary code to beprinted on card 50. Mechanism 175 consists of individual print arms 176with inked print heads I77, spaced in a horizontal row corresponding tothe order of the binary bits which are to be coded on card 50. When a 1hinary bit is present at the binary position represented by a particularprint arm I76, a solenoid mechanism (not illustrated) within unit 56 isenergized to extend arm 176 and cause head 177 to strike card 50,printing a darkened area 150 representative of a binary 1 bit. While theillustrated write mechanism prints the binary code after a blank cardhas been dropped into position on pallet 26, it will of course berecognized that the binary code could be printed on card 50 before beingdropped into position on pallet 26. Similarly, other equivalent meansfor encoding a part or a pallet with a number could be used in place ofthe illustrated binary coded card system, with corresponding changesbeing made in the read and write units.

In order to prevent collisions at intersections where a part joins otherparts on a conveying mechanism, movable gates are provided to preventthe passage of a part should a photoelectric circuit associatedtherewith indicate that a part on another conveyor having priority isapproaching the intersection. The photoelectric circuit projects aphotobeam 135 across the conveyor having priority to a photocell I37connected in circuit to lower gate 190 when the photobeam is broken.Similar gates I90 and associated photoelectric circuits are located ateach intersection where two or more part conveying systems join. Whilemechanical gates 190 have been illustrated, an equivalent electricalgating system may be employed in place thereof. For example, when aphotobeam is broken across a conveyor having priority, computer 30 maycause the other or lower priority conveyor to stop or slow its movementuntil the part on the higher priority conveyor has passed theintersection. At such time, the normal speed of the lower priorityconveyor may be restored.

A schematic diagram of the control system of FIG. I is illustrated inFIG. 5. For simplification, only two of the machine tools areillustrated, namely NGMT-A and NCMT-C. Parts 25 are illustrated as beingstored in separate storage facilities 200, consisting of belt conveyors40 and 54 of FIG. 1, because there is no coordination between the supplyof parts to the machine tool. The other operations, however, arecoordinated by computer 30.

Since the computer 30 is capable of internally generating data for onlya single machine tool at any given moment of time, a control or timeshare unit 203 is provided to cycle computer 30 between the data links31 for each of the machine tools in the system. The computer generatesdata for any given machine tool at a much faster rate than it can beused, due to the inherent time lag necessary for a largeelectromechanical system to respond to a command. In order to store thisdata, and thus free the computer to generate data needed at the nextmachine tool in the system, each machine tool has a temporary storagememory 205 associated therewith, which may be similar to theintermediate storage registers conventionally used in numericallycontrolled machine tools to store data from a tape reader. Thus, whileNCMT-A is in the process of using data the computer has just loaded intothe temporary storage memory 205 associated therewith, time share unit203 switches computer 30 to the data link 31 coupled to the next machinetool in the system.

The number of machine tools controllable by a single computer is limitedonly by the requirement that the computer be able to generate data foreach machine tool in the system and return to the first machine toolprior to or simultaneous with that machine tool having assimilated thedata stored in its temporary memory. Approximately I or so machine toolscan be simultaneously serviced by a large, high-speed digital computersuch as an IBM 360. Time share unit 203 may be a known type of timesharing device for coupling a plurality of Input/Output devices to asingle selector channel of a general purpose digital computer, eachmachine tool in the system being considered an Input/Output device.Units of this nature are known in the art, for example, in US. Pat. No.3,465,298 to La Duke et al. issued Sept. 2, [969, and filed Oct. 26,1969,

The output channel of computer 30, switched by time share unit 203 toeach of the data links 31 for the machine tools, consists of a pluralityof data and control lines, shown in simplified schematic form in FIG. 5,As previously described, the data transmission path between the computeroutput channel and the individual data links 31 may include lines whichare shared in common by all or some of the machine tool stations. As anew part 25 is conveyed from storage facility 200 to a particularmachine tool, the process number of the part is transmitted over a PARTIDENTIFY line 210 to computer 30. For NCMT-A, the process numberidentifying signal originates at operator console 47, as previouslydescribed. Should the part be conveyed to NCMT-C, however, the processnumber identifying signal originates at read unit 49. In response to thesignal on line 210, computer 30 searches its memory for the programwhich machines the identified part.

When part 25 reaches the machine tool station, and is properlypositioned on the worktable, a MACHINE READY line 212 signals thecomputer that the machining operations may begin. In response to thissignal, the control information from the selected program is transmittedfrom the computer memory and through a MACHINE CONTROL DATA line 214 tothe machine tool. At the completion of the program, a signal whichidentifies a new process number for the part is transmitted over a PARTREIDENTIFY line 216 to write or readdressing unit 56, assuming themachine tool station uses automatic part identification andreidentification, as does NCMT-C. At stations using visualidentification of part identity, as NCMT-A, PART REIDENTIFY line M6 isnot necessa' ry and may be eliminated since the part will be identifiedvisually at its next location.

SELECTIVE SUPPLY OF PARTS (FIGS. 6 and 7) In FIGS. 6 and 7, the secondembodiment of the invention is illustrated, in which the computerdetermines the process number of a part necessary for a program which isto be run, searches a common parts storage area until a part with thecorresponding process number is found, and conveys the part to apreselected machine tool at which the program is to be run. Thisembodiment operates in generally the same manner as does station NCMT-Cof FIG. I, previously described, and accordingly only the differences inoperation will be described in detail.

Read units 49 are located adjacent parts storage conveyor 40 in adirection preceding the pneumatic cylinder 44 for each machine toolinput station. When unit 49 scans a card 50 having a process numbercorresponding to the process number necessary to run a program, cylinder44 is actuated to eject the part onto incoming station 42. The parts 25not so ejected remain on conveyor 40, circulating around the loop untilthey are either ejected onto one of the incoming stations 42, or ontooutgoing conveyor 61.

As a part is being loaded on worktable 22, computer 30 couples theprogram corresponding to the process number of the part to the data link31 associated with that machine tool. Upon completion of the program,the part is transported to outgoing station 53, reidentified by writeunit 56, and thereafter ejected into conveyor 54 and returned to thecirculating loop conveyor 40.

In FIG. 7, a schematic diagram of the control system of FIG. 6 isillustrated. The system operates similar to that previously describedfor NCMT-C of FIG. 5, with the following differences. Read units 49 arelocated within a common storage facility 235, formed by continuous loopconveyor 40 of FIG. 6. After computer 30 determines the process numberof the part which is to be machined and the machine tool at which theprogram is to be run, it opens PART IDENTIFY line 210 associated withthe selected machine tool in order to compare the signal from read unit49 with the process number signal from the computer memory. When thesignals match, the part 25 adjacent the read unit is ejected fromfacility 235 and conveyed to the machine tool associated with that readunit. Thereafter, the operation is similar to that previously describedfor NCMT-C of FIG. 5.

COMPUTER RETAINED PART AND TOOL IDENTITY (FIGS. 8-14) General OperationIn the final embodiment of the invention, FIGS. 8-14, the necessity forcarrying identification indicia with a part is eliminated, sincecomputer 30 retains in its memory the in stantaneous location andidentity of all parts and tools in the system. Conveyor belt 40, FIG. 8,is formed into a continuous PARTS LOOP for temporary storage of parts.New parts may be added to the PARTS LOOP from input conveyor 60, whichin turn is fed from a storage warehouse area 250 consisting of aplurality of storage conveyors 255 each storing a different type ofbasic or raw part.

Conveyors 255, as well as conveyor 60, may be formed by freely rotatablyrollers which gravity feed a part towards an output point blocked by anelectrically actuable gate 257. Upon actuation, the gate 257 rises torelease an individual part and its pallet to conveyor 40 via conveyor60. In order to sim plify the computer program, it is desirable thateach individual feed conveyor 255 in the first warehouse area 250 storethe same type of part 25 thereon. As many individual conveyors 255 maybe provided as there are basic parts which are to be machined.

Computer 30 records the instantaneous identity and location of all partsin the system, as will be later described in detail with reference toFIGS. 13 and I4. Briefly, the original location and the process numberof each part are stored in the memory of the computer. By means of partsensing stations, such as photoelectric circuits 134, spaced along theconveyor at various checking points, the location of each process numberin the computer memory may be continuously shifted in synchronism withthe passage of parts in the system. At each location where parts (ortools) may be added or removed from a conveyor, a photoelectnc c|rcuitchecking station is associated therewith in order to signal thesuccessful addition or removal of the part and the exact time at whichit occurs, in order that the corresponding process number be added orremoved from the portion of the computer memory associated with thatconveyor.

For example, when NCMT-B is to run a particular program, computer 30determines the process number of the part which is to be machined andsearches its memory to determine the location of the closest such partin the system. Should the desired part be located on PARTS LOOP 1,computer 30 will allow the part to circulate around the loop until itpasses the photoelectric circuit 134 associated with the pneumaticcylinder 44 for NCMT-B, at which time cylinder 44 will be actuated toeject the part onto the input station 70 for the machine tool. If thedesired part is not located on PARTS LOOP 1, computer 30 will actuategate 257 associated with the conveyor 255 which stores the part, inorder to release the same into the system.

Should a machine tool associated with PARTS LOOP N need a particularpart circulating on PARTS LOOP 1, computer 30 will cause the part to beejected onto outgoing conveyor 61 connected with PARTS LOOP N. If theneeded part should not exist anywhere in the system, computer 30 willselect the program which machines the part, and will cause the raw partnecessary for this program to be conveyed to a machine tool in PARTSLOOP 1. After the part is machined, it will be ejected and conveyed tothe desired machine tool in PARTS LOOP N.

Tools 81 (see FIGS. --l2) used by two or more machine tools areindividually stored in shuttle cars 83 continuously circulated byconveyor 80 around a TOOLS LOOP for the machine tools. Although TOOLSLOOP 1 is illustrated as servicing the same group of machine tools asserviced by PARTS LOOP 1, such is not necessary, and a TOOLS LOOP mayservice more or less machine tools than are included in any given PARTSLOOP.

The tools necessary during the running of a given program at a selectedmachine tool are shunted onto a temporary side track 85, FIG. 8, whichservices an automatic tool changer 87 for that machine tool. In additionto the tools used in common by the machine tools, it may be desirable topermanently store a number of tools at each machine tool station. Forthis purpose, a permanent storage tool drum 269 is associated with eachmachine tool in the system. Tool changer 87 transports a selected toolfrom either its fixed storage area 269 or temporary storage area 85 tospindle head 23. When the tool is to be replaced, tool changer 87removes and returns the same to its original storage location, andthereafter selects another tool from either the fixed or temporarystorage areas.

The instantaneous location and identity, in the form of a tool number,of each tool in the system is recorded in the memory of computer 30, ina manner similar to that previously described for parts 25.Photoelectric circuits 134 are located at each intersection where toolsmay be added to, or removed from, the TOOLS LOOP. By means of thesephotoelectric circuits, computer 30 is able to continuously identify andlocate all tools in the system, whether located on conveyor 80, on aparticular side track 85, or at fixed drum storage 269.

In FIG. 9, a schematic diagram of the plural machine tools and parts andtools handling system of FIGS. 8-14 is illustrated. A PARTS LOOP storagearea 270, representative of all PARTS LOOPS 1 through N, providetemporary storage of pans. Similarly, the TOOLS LOOP storage area 271,representative of all of the TOOLS LOOPs of FIG. 8, provide a commonstorage area for the tools used by each of the machine tools.

Because computer 30 maintains a continuous record of the location andidentity of all parts and tools in the system. the PART IDENTIFY line210 and PART REIDENTIFY line 216 of FIGS. 5 and 7, as well as the readand write units associated therewith have been completely eliminated. Intheir place, a

PARTS DATA line 273, coupled to the various photoelectric circuits 134of FIG. 8 provide input data information as to when parts pass referenceor checking positions. This information is used to switch the lastpreviously known location of an identified part to a new location insynchronism with their movement in the system. Whenever a part ismachined into a new part, the computer changes the process numberrecorded in its memory, thus eliminating the necessity for any PARTREIDENTIFY line.

In a manner similar to parts, a TOOLS DATA line 274 is coupled with thephotoelectric circuits 134 of FIG. 8 associated with the various toolsstorage areas. The input information on line 274 serves to switch thelocation of identified tools to different corresponding positions in thememory of computer 30.

Each machine tool station includes provisions for sensing the occurrenceof a condition which requires correction and transmission of thisinformation to the computer. As example of one such condition is theerror sensor 276 which is coupled to computer 30 through an ERROR SIGNALline 277. Upon the occurrence of a tool break, or an excessivetemperature, or other error monitored by sensor 276, computer 30switches control of the machine tool to a special subroutine, describedin detail with reference to FIG. 14. Briefly, the subroutine causes theremainder of the program for controlling the machine tool to be run, ifthe part is not damaged, at the same machine tool after correction ofthe error, or at a different machine tool should the machine tool atwhich the error occurred be damaged.

Tool Handling System The detailed structure of the temporary and fixedtool storage areas for a single machine tool station is illustrated inFIGS. 10-12. Each shuttle car 83 has a cylindrical center aperture 278,FIGS. 11 and 12, into which is inserted the shank 279 of an individualtool 81, thereby removably holding each tool in an upright position.

Conveyor has a pair of tracks 280, FIG. 10, for guiding slotted wheels282 rotatably mounted on shuttle cars 83. The shuttle cars are pushedaround tracks 280 by a continuously driven conveyor mechanism (notillustrated) mounted between tracks 280, and having a plurality ofvertical arms 284 extending upward therefrom at spaced locationsthroughout the length of conveyor 80. Each vertical arm 284 has atransverse arm 285 extending forwardly therefrom in the direction ofmotion of the conveyor, which bears against the back one of a pair ofplates 287 carried on the shuttle cars 83. It should be noted that twoplates 287 are necessary on each shuttle car 83, since the shuttle caris turned I80 each time it returns to conveyor 80 from a side track 85.While a unidirectional conveyor 80 will be described in detail, theconveyor may be bidirectional, for reasons discussed hereinafter. Insuch a case, additional vertical arms and the like would be provided forpropelling the shuttle cars 83 in the opposite direction.

Each side track 85 includes a pair of tracks 300 for guiding slottedwheels 302 mounted on the front and back portions of each shuttle car83. When a shuttle car 83 is to be shunted onto side track 85, apneumatic cylinder 305 is actuated to extend a pair of half tracks 306,FIG. 11, transversely across conveyor 80, through vertical slots intracks 280. The front top portion 310 of the half tracks 306 is taperedto cause wheels 302 to ride upwardly onto the top most portion 311 ofhalf tracks 306, lifting slotted wheels 282 completely off tracks 280.

At the end of the stroke of cylinder 305, an ear 315, FIG. 11,projecting from one half track 306, is driven through a slot in track280 and into engagement with the bottom portion 317 of a lever 318pivotally secured to a base 319. The car 315 forces lever 318 to quicklypivot about base 319, driving a top portion 321 of lever 318 againstshuttle car 83 to impart an impulse thereto. The car rolls on wheels 302across half tracks 306 and onto tracks 300 of side track 85. Transversearm 285 bears against a portion of plate 287 which extends above thepath of wheels 302, in order that wheels 302 will clear transverse arm285 when riding across half tracks 306.

Side tracks 300, FIG. 10, slope downwardly throughout their length, inorder to gravity feed the shuttle cars around the side track and backtoward an exit station leading onto conveyor 80. Tracks 280 dipdownwardly near each exit in order to match the horizontal level of theside track exit station, and thereafter rise upwardly to their formerlevel.

At the side track exit station, a pneumatic cylinder 330 and associatedpair of half tracks 332, similar to cylinder 305 and half tracks 306respectively, deposit the shuttle cars 83 back onto tracks 280 ofconveyor 80. However, unlike half tracks 306, the half trucks 332 slideacross conveyor 80 at a somewhat higher horizontal plane than tracks 280(while still maintaining a downward slope), and retrack in a lowerhorizontal plane in order to lower wheels 282 onto tracks 280. Anelectric actuable gate 230, which prevents a shuttle car from reenteringconveyor 80 should a shuttle car on conveyor 80 be approaching theintersection, is connected in a circuit to block the actuation ofcylinder 330 when gate 230 is lowered. If desired, conveyor 80 may bebidirectional, for returning a released shuttle car back to the same ora preceding side track station. Such bidirectional operation formssubloops at one or more side track stations, localizing the movement oftools and eliminating the necessity that the tools be conveyed throughthe total TOOLS LOOP. Conveyor motion in such a reverse direction, asindicated by the dashed arrow in FIG. 10, may be initiated under controlof computer 30. When bidirectional motion is provided, additionalphotoelectric circuits should be located as illustrated in FIG. 10, onboth sides of the intersection of two or more tools conveyors, in orderthat the arrival of a tool travelling in either direction may besignalled to the computer for control purposes.

All tools necessary during the running of a program are assembled at themachine tool station before the program is started, or during therunning of the program prior to their being needed. As the computerdetermines from its memory that a needed tool is directly adjacent thehalf tracks 306 associated with the machine tool at which the program isto run, or is being run, the pneumatic cylinder 305 associated therewithis energized. Since it is not necessary that the tools be assembled onside track 85 in the order in which they will be used, they may beremoved from conveyor 80 in the shortest possible time, whenever aneeded tool passes adjacent the entry station.

As seen in FIG. 10, the first shuttle car removed from conveyor 80 rollsalong tracks 300 by force of gravity until it strikes legs 340 of aU-shaped member 342 having a hollow center portion 344. Member 342 isdriven parallel along tracks 300 by an electric motor 350 coupledthrough a drive mechanism 352 to an outwardly extending leg 354 of themember 342. Drive mechanism 352 consists of a worm screw 360 rotated bymotor 350 and meshed with an internally threaded nut 362 extendingthrough leg 354. A rod 364 fixedly secured to leg 354, and slidably heldwithin a bushing 365, serves to stabilize member 342 as it is drivenalong the length of worm screw 360.

Automatic tool changer 87 has a Y-shaped end claw 380, FIG. 10, movablelongitudinally toward a tool positioned directly in front thereof. Asseen in FIG. 12, claw 380 grasps the shank 279 of the tool, andthereafter lifis the tool upwardly to remove the tool from itscylindrical holder 278 in shuttle car 83. In order to prevent shuttlecar 83 from being derailed when a tool 81 is being removed therefrom, abracket 385, attached to rail 85, has an upper portion 386 which extends horizontally over one set of wheels 302 of the shuttle car 83, tohold the wheels on the tracks.

Computer 30 controls the operation of motor 350, FIG. 10, in order toposition the shuttle car 83 which carries a desired tool directly infront of tool changer arm 87. When the shuttle car is located in theproper position, the computer causes claw 380 to be extended in order torem ove the tool from the shuttle car. Thereafler, the automatic toolchanger places the tool in the spindle head of the machine tool in aconventional manner.

At the completion of the machining operations, claw 380 again grasps theshank of the tool, removes it from the spindle head, and replaces itback in cylindrical holder 278 in its shuttle car. As claw 380 iswithdrawn form its position around the shank of the tool, the computerenergizes motor 350 and drives member 342 to the proper direction forpositioning the shuttle car 83 having the next tool in front of the toolchanger. When the last tool used in the machining operation has beenreplaced in its shuttle ear, member 342 is driven to the extremeleft-hand position as illustrated in FIG. 10, moving the member out ofthe path of side track 85 in order to allow all of the shuttle cars 83to roll downwardly to the exit station for return to conveyor 80.

Some tools 81, commonly used at a particular machine tool station, orspecial purpose tools, are stored in the fixed tool storage drum 269,rather than on the shuttle cars 83. As seen in FIG. 12, drum 269 islocated in a horizontal plane below the plane of the temporary toolstorage side track 85. Drum 269 has a plurality of cylindrical apertures400 spaced circumferentially therearound. Tool holders 401, havinghollow cylindrical center sections 402 for removably holding the shank279 of tools 81, rest on shoulders 403 within each aperture 400 of drum269. As viewed from left to right in FIG. 12, tool holders 401 hold amilling tool, a tap, and a small drill (while the shuttle car 83 holds alarge drill).

Drum 269 is secured to a large gear 407 having a stub extendingdownwardly therefrom which is movably received within a bearing 408 on abase 409. Gear 407 meshes with a gear 412 secured to the shaft of anelectric motor 414 for rotating drum 269 in order to position a desiredtool in direct vertical alignment with the automatic tool changerposition.

When a tool 81 is to be removed from drum 269, computer 30 actuatesmotor 414 until the desired tool is located directly under and invertical alignment with the extended position of claw 380. At that time,motor 414 is braked and motor 350, FIG. 10, is actuated to drive member342 until its center aperture 344 is located in direct verticalalignment over the desired tool on drum 269. When both member 342 anddrum 269 are in the proper positions, pneumatic cylinder 420 is actuatedto raise the desired tool and tool holder to the proper position forremoval of the tool by tool changer 87.

More particularly, cylinder 420, FIG. 12 drives a rod 422 with agripping head 423 thereon through cylindrical aperture 400 in drum 269and into abutment with tool holder 40!. Gripping head 423 snaps intoposition within slots 425 in tool holder 401, in order to lock the toolholder to rod 422 as it continues to be driven vertically upward. Toolholder 401 is driven through aperture 344 in member 342, and continuesupward until the tool held therein is at the same vertical levelillustrated for tool 81 on shuttle car 83. At this time, the arm of toolchanger 87 is extended until claw 380 grasps the shank 279 of the toolcarried by tool holder 40]. The tool is thereafter removed, andeventually replaced after a machining operation, in the same manner aspreviously described for tools carried by shuttle cars 83. Pneumaticcylinder 420 is then deactuated to lower tool holder 401 to a restposition within aperture 400 of drum 269. Computer 30 may now controlthe selection of another tool from either shuttle car 83 or from fixedtool storage drum 269.

Computer Program In FIG. 13, a flow diagram of a portion of the mastercontrol program for on-line computer 30 of FIG. 8 is illustrated. Aseparate portion 500 of the master program, illustrated within thedashed lines, is devoted to control processes for each group of machinetools associated with a PARTS and a TOOLS LOOP. For simplification, onlythe control processes for PARTS LOOP 1 (identified as loop IP) and TOOLSLOOP l (identified as loop 1T) have been illustrated in detail, asrepresentative of the control processes associated with each group ofmachine tools. A separate portion 502 of theprogram is devoted to thecontrol processes common to all machine tools in the system.

Associated with each portion 500 of the master program for processesassociated with a group of machine tools, an area 504 of the computermemory is set aside to record the continuous location of the parts inthe loop. Within area 504, a separately addressed area or block 505 isassociated with each possible location of a part in the loop, forstoring the process number of a part when positioned at that location.Initially, the process number for each part is entered into the addressblock 505 associated with the instantaneous location of the part. As thepart is conveyed around the loop, the process number identifying thepart is stepped, in synchronism with the movement of the part, intodifferent address blocks 505 associated with its locations in order tokeep track of the instantaneous location of the part.

In order to record the instantaneous location and identity of tools inthe loop, a separate area 510 similar to area 504 for parts, is setaside for each tool loop. Separate address blocks 51], similar toaddress blocks 505 for parts, store the tool number of a tool positionedat the location associated with an individual address block.

When an order for a part is received, the order number is entered intothe computer at the upper most left-hand block illustrated in FIG. 13.The order number is converted into a program number which identifies aprogram for machining a raw part into the final desired product. All ofthe program numbers entered during a given period of time are stored,and thereafter the optimum order in which to run the programs isdetermined. When assembling the order of running the programs, thepresent running condition of all machine tools in each loop isconsidered. After the order of running the programs has been determined,the program number of the next program which is to be run, as well asthe identity of the next available machine tool at which that programwill be run, are determined.

Each program number represents an address in the computer memory atwhich the program is stored. In response to the determination of thenext program number, the computer searches its memory to find theprogram. The beginning portion of the program stores the process numberof the raw part which is to be machined into the desired final product.The process number of the raw part is switched to a storage unit SISlocated within area 500 of the loop at which the raw part is located.

The process number stored in unit 515 is continuously compared with theprocess number stored in the particular address unit 505 associated withthe location of the part input station for the selected machine tool.When the process numbers match, indicating that the desired part islocated adjacent the selected machine tool location, the part is removedfrom the loop and conveyed to the machine tool. As the part is removedfrom the loop, the process number corresponding thereto is erased fromarea 504 and is inserted into a memory (not illustrated) whichidentifies parts located at the selected machine tool station.

Should the desired raw part not be stored on a PARTS LOOP, the processnumber of parts located in the fixed storage area is compared with thedesired process number. If a match is found, the part is released fromfixed storage into the PARTS LOOP, and the process number correspondingthereto is inserted in the proper address block 505 associated with theinput station for parts entering the LOOP. This part is then circulatedaround the LOOP until adjacent the machine tool station, at which time amatch is indicated in the same manner as previously described for partslocated on the LOOP.

The process number stored in unit SIS also identifies a tools memoryaddress which stores the tool numbers of all tools needed in themachining operations for the selected program.

The tool number stored in the address block 51] associated with thetemporary tool storage entry station for the desired machine tool iscontinuously compared with all of the needed tool numbers. Each time amatch occurs, the tool adjacent the entry station is removed from theTOOLS LOOP and is conveyed to the temporary tool storage area for thatmachine tool. The tool numbers of the removed tools are erased from area510, and are inserted into a memory (not illustrated) which stores theidentity and order of all tools at the temporary storage area adjacentthe selected machine tool.

When the part and all of the tools have been removed from their storageareas and conveyed to the machine tool location, the program identifiedby the process number stored in unit 515 is run. The computer couplesthe data link for the selected machine tool to the memory storing theselected program in order to control the operation of the machine tool.Each control program consists of blocks of binary coded controlinstructions representative of the direction and amount of servomovement for each axis of the machine tool. Such infonnation is similarto the output of conventional tape readers for numerically controlledmachine tools. In effect, the computer memory is a substitute for thememory function performed by conventional control tape.

At the completion of the program, the machined part and the tools arereturned to their respective storage areas. As each tool returns to itsLOOP, the tool number corresponding thereto is entered into the addressblock 51] associated with the tools exit station for the machine tool.Since the part has been converted by the machining operations into a newpart, it is renumbered, and the new process number is inserted in theaddress block 505 corresponding to the reentry location for parts fromthe machine tool. The next program may now be run.

in some instances, a raw part may have to be machined at one loop inorder to provide the basic part needed for further machining operationsat a later loop. For example, to run a particular program at LOOP N, asearch for the process number of the part to be machined may determinethat no such part is located in either the temporary nor the fixedstorage areas associated with that loop. In such a case, the processnumber which is out-of-stock will be compared with process numbers ofparts in LOOP 1P. If a match is found, the part is removed from the LOOPIP and is conveyed to the fixed storage area for LOOP N. Should no matchbe found in any loop at which the part may be located, the computeridentifies the program which will form that part, and conveys the rawpart necessary for that program to a machine tool. Thereafter, theidentified program is run in order to machine the part needed for LOOPN.

Error Subroutine Program During the running of a program, a tool maybreak, or a different type of condition or error such as excessivetemperature may occur, which requires special attention. Upon thesensing of such a condition, the running of the normal program isinterrupted, and the machine tool is placed under control of a specialor modified program or subroutine, as illustrated in FIG. 14.

More particularly, when an error is sensed by sensor 276 of FIG. 9, theprogram being run is stopped, and the uncompleted portion of the programis shifted into a temporary storage memory. At the same time, the partwhich was being machined is returned to the PARTS LOOP. As this partpasses adjacent a checking station (not illustrated), it is removed fromthe PARTS LOOP, and is checked for any damage which may have resulteddue to the error. If the checking station finds the part has beendamaged, the part is rejected, and the temporarily stored uncompletedprogram portion is erased. If the part has not been damaged, it isreturned to the PARTS LOOP.

At the same time, the machine tool at which the error occurred ischecked to determine whether the error has been corrected. if the errorinvolved an excess temperature, for example, the temperature of themachine tool would be checked after a predetermined time lapsesufficient for any temporary temperature transient to have disappeared.Or. if the error was due to the breaking of a tool, the tool would bereplaced with another identical tool conveyed from the TOOLS LOOP.

if the machine is found to be undamaged and in condition for furthermachining operations, an OK output signal causes the partially machinedpart to be removed from the PARTS LOOP when adjacent the same machinetool at which the error occurred. The temporarily stored uncompletedprogram is then unloaded into the same PERFORM PROGRAM block of FIG. 13in which it had been running, and the program is continued.

However, should a check of the machine tool indicate that damage hasoccurred, a NOT K output signal causes the partially machined part to beremoved when adjacent a new machine tool station, and also alerts anoperator that the machine tool must be repaired. The temporarily storeduncompleted program is then unloaded to the PERFORM PRO- GRAM block forthe new machine tool station at which the part is now located.Thereafter, the program is continued, allowing the new machine tool tocomplete the machining operations on the part.

We claim:

I. A control system for controlling a plurality of machine tools capableof selectively performing similar or difierent machining operations onparts delivered to said machine tools, which parts may be the same ordifferent and each of which has a process indicia associated therewith,comprising:

means for delivering parts to the machine tools;

a central source of programs for controlling machining operations at allof the machine tools;

control means responsive to a process indicia for coupling to eachmachine tool the program from said central source which controls themachining operation to be per fonned on a part delivered to that machinetool and which part is identified by said process indicia;

part identification means for identifying the process indicia of a part,including a record medium carried along with said part and forming saidprocess indicia, and a read unit associated with at least one machinetool and responsive to the record medium for identifying said processindicia represented thereby;

said control means including at least one data link connectable betweensaid central program source and each of said machine tools for couplingprograms to the machine tools associated therewith, and means forconnecting the program identified by the process indicia to the datalink for the machine tool at which the part is located; and

a write unit associated with each machine tool for assigning a newprocess indicia to the part after a machining operation has beenperformed on the part associated therewith.

2. A control system for controlling a plurality of machine tools capableof selectively performing similar or different machining operations onparts delivered to said machine tools, which parts may be the same ordifferent and each of which has a process indicia associated therewith,comprising:

a central source of programs for controlling machining operations at allof the machine tools;

control means responsive to a process indicia for coupling to eachmachine tool the program from said central source which controls themachining operation to be performed on a part delivered to that machinetool and which part is identified by said process indicia;

part identification means for identifying the process indicia of a part;

said control means including at least one data link connectable betweensaid central program source and each of said machine tools for couplingprograms to the machine tools associated therewith, and means forconnecting the program identified by the process indicia to the datalink for the machine tool at which the part is located;

means for indicating that a machine tool is in condition for receiving anew part, and

means for delivering parts to the machine tools including convertingmeans responsive to said indicating means for randomly transporting apart from a part supply location to the machine tool at which saidcondition has occurred.

3. A control system for controlling a plurality of machine tools capableof selectively performing similar or different machining operations onparts delivered to said machine tools, which parts may be the same ordifferent and each of which has a process indicia associated therewith,comprising:

means for delivering parts to the machine tools;

a central source of programs for controlling machining operations at allof the machine tools; control means responsive to a process indicia forcoupling to each machine tool the program from said central source whichcontrols the machining operation to be performed on a part delivered tothat machine tool and which part is identified by said process indicia;and

reidentification means for assigning to a part which has completed amachining operation a new process indicia which reidentifies the part.

4. A control system for controlling a plurality of machine tools capableof selectively performing similar or different machining operations onparts delivered to said machine tools, which parts may be the same ordifferent and each of which has a process indicia associated therewith,comprising:

means for delivering parts to the machine tools;

a central source of programs for controlling machining operations at allof the machine tools; control means responsive to a process indicia forcoupling to each machine tool the program from said central source whichcontrols the machining operation to be performed on a part delivered tothat machine tool and which part is identified by said process indicia;means for sensing at one of said machine tools the occurrence of acondition which requires correction, and

means responsive to the sensed occurrence of a condition which requirescorrection for stopping the running of a program coupled from saidcentral source to the machine tool at which the condition occurred.

5. The control system of claim 4 including means responsive to thesensed occurrence of a condition which requires correction for retainingat least the remaining portion of the stopped program,

means for placing said system in condition for continuing machiningoperations on said part, and

means for running said remaining portion of said stopped program on saidpart in order to complete the machining operations thereon.

6. A control system for controlling a plurality of machine tools capableof selectively performing similar or difierent machining operations onparts delivered to said machine tools, which parts may be the same ordifferent and each of which has a process indicia associated therewith,comprising:

means for delivering parts to the machine tools;

a central source of programs for controlling machining operations at allof the machine tools;

control means responsive to a process indicia for coupling to eachmachine tool the program from said central source which controls themachining operation to be performed on a part delivered to that machinetool and which part is identified by said process indicia;

a central supply of tools for use by more than one of said plurality ofmachine tools;

means for identifying the tools which will be necessary for performingthe machining operations controlled by a given program at a selected oneof said plurality of machine tools; and

means responsive to said identifying means for causing the identifiedtools to be conveyed from said central supply of tools to said selectedone machine tool.

7. A control system for controlling a plurality of machine tools some ofwhich are capable of performing similar machining operations on a part,comprising:

a computer having a program memory for storing a plurality of differentprograms, each program being capable of controlling more than one ofsaid plurality of machine tools to produce the same series of machiningoperations on a part, wherein each part is assigned a process indiciawhich identifies the part, and said computer has a parts location memoryfor storing the process indicia which identifies each part in thesystem;

a plurality of data links for coupling said computer to each of saidplurality of machine tools in order to transmit a program stored in saidprogram memory to any one of said plurality of machine tools;

a central supply of parts on which similar and different series ofmachining operations are to be performed by any one of said plurality ofmachine tools;

means for conveying a part from said central supply to one of saidplurality of machine tools;

means for generating a signal which identifies the series of machiningoperations which are to be performed on said conveyed part;

means for selecting the program stored in said program memory whichcontrols the same series of machining operations as identified by thesignal from said generating means and for transmitting said last namedprogram over the data link connected to the machine tool to which saidpart has been conveyed;

sensing means for recording the passage of parts past predetenninedlocations along said conveying means; and

said computer is responsive to said sensing means for continuouslyupdating the location of process indicia in said parts location memoryin order that the location of process indicia in said parts locationmemory corresponds with the instantaneous location of the parts alongsaid conveying means.

8. The control system of claim 7 wherein said sensing means are locatedat branch positions along said conveying means at which a part can takeone of a plurality of paths.

9. A control system for controlling a plurality of machine tools some ofwhich are capable of performing similar machining operations on a part,comprising:

a computer having a program memory for storing a plurality of differentprograms, each program being capable of controlling more than one ofsaid plurality of machine tools to produce the same series of machiningoperations on a part, wherein each part is assigned a process indiciawhich identifies the part, and said computer has a parts location memoryfor storing the process indicia which identifies each part in thesystem;

a plurality of data links for coupling said computer to each of saidplurality of machine tools in order to transmit a program stored in saidprogram memory to any one of said plurality of machine tools;

a central supply of parts on which similar and different series ofmachining operations are to be performed by any one of said plurality ofmachine tools;

means for conveying a part from said central supply to one of saidplurality of machine tools;

means for generating a signal which identifies the series of machiningoperations which are to be perfonned on said conveyed part;

means for selecting the program stored in said memory which controls thesame series of machining operations as identified by the signal fromsaid generating means and for transmitting said last named program overthe data link connected to the machine tool to which said part has beenconveyed;

reidentification means responsive to the completion of a machiningoperation for assigning to a machined part a new process indiciarepresentative thereof; and

means for substituting said new process indicia for the previous processindicia stored in the parts location memory.

10. A control system for controlling a plurality of machine tools someof which are capable of performing similar machining operations on apart, comprising:

a computer having a memory for storing a plurality of differentprograms, each program being capable of controlling more than one ofsaid plurality of machine tools to produce the same series of machiningoperations on a P a plurality of data links for coupling said computerto each of said plurality of machine tools in order to transmit aprogram stored in said memory to any one of said plurality of machinetools;

a central supply of parts on which similar and different series ofmachining operations are to be performed by any one of said plurality ofmachine tools;

means for conveying a part from said central supply to one of saidplurality of machine tools;

means for generating a signal which identifies the series of machiningoperations which are to be performed on said conveyed part;

means for selecting the program stored in said memory which controls thesame series of machining operations as identified by the signal fromsaid generating means and for transmitting said last named program overthe data link connected to the machine tool to which said part has beenconveyed;

means for sensing at one of said machine tools the occurrence of acondition which requires correction; and

means responsive to the sensed occurrence of a condition which requirescorrection for stopping the running of a program coupled from saidcomputer to the machine tool at which the condition occurred.

ll. A control system for controlling a plurality of machine tools someof which are capable of performing similar machin ing operations on apart, comprising:

a computer having a memory for storing a plurality of differentprograms, each program being capable of controlling more than one ofsaid plurality of machine tools to produce the same series of machiningoperations on a part;

a plurality of data links for coupling said computer to each of saidplurality of machine tools in order to transmit a program stored in saidmemory to any one of said plurality of machine tools;

a central supply of parts on which similar and different series ofmachining operations are to be performed by any one of said plurality ofmachine tools;

means for conveying a part from said central supply to one of saidplurality of machine tools;

means for generating a signal which identifies the series of machiningoperations which are to be performed on said conveyed part;

means for selecting the program stored in said memory which controls thesame series of machining operations as identified by the signal fromsaid generating means and for transmitting said last named program overthe data link connected to the machine tool to which said part has beenconveyed;

a central supply of tools for use by more than one of said plurality ofmachine tools;

means for identifying the tools which will be necessary for performingthe machining operations controlled by a given program at a selected oneof said plurality of machine tools; and

means responsive to said identifying means for causing the identifiedtools to be conveyed from said central supply of tools to said selectedone machine tools 12. A control system for controlling a plurality ofmachine tools each using a plurality of tools for performing differentmachining operations on a part, comprising:

a central supply of tools for use by more than one of said plurality ofmachine tools;

conveying means for transporting tools from said central supply to anyof said machine tools;

1. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has a process indicia associated therewith, comprising: means for delivering parts to the machine tools; a central source of programs for controlling machining operations at all of the machine tools; control means responsive to a process indicia for coupling to each machine tool the program from said central source which controls the machining operation to be performed on a part delivered to that machine tool and which part is identified by said process indicia; part identification means for identifying the process indicia of a part, including a record medium carried along with said part and forming said process indicia, and a read unit associated with at least one machine tool and responsive to the record medium for identifying said process indicia represented thereby; said control means including at least one data link connectable between said central program source and each of said machine tools for coupling programs to the machine tools associated therewith, and means for connecting the program identified by the process indicia to the data link for the machine tool at which the part is located; and a write unit associated with each machine tool for assigning a new process indicia to the part after a machining operation has been performed on the part associated therewith.
 2. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has a process indicia associated therewith, comprising: a central source of programs for controlling machining operations at all of the machine tools; control means responsive to a process indicia for coupling to each machine tool the program from said central source which controls the machining operation to be performed on a part delivered to that machine tool and which part is identified by said process indicia; part identification means for identifying the process indicia of a part; said control means including at least one data link connectable between said central program source and each of said machine tools for coupling programs to the machine tools associated therewith, and means for connecting the program identified by the process indicia to the data link for the machine tool at which the part is located; means for indicating that a machine tool is in condition for receiving a new part; and means for delivering parts to the machine tools including converting means responsive to said indicating means for randomly transporting a part from a part supply location to the machine tool at which said condition has occurred.
 3. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has A process indicia associated therewith, comprising: means for delivering parts to the machine tools; a central source of programs for controlling machining operations at all of the machine tools; control means responsive to a process indicia for coupling to each machine tool the program from said central source which controls the machining operation to be performed on a part delivered to that machine tool and which part is identified by said process indicia; and reidentification means for assigning to a part which has completed a machining operation a new process indicia which reidentifies the part.
 4. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has a process indicia associated therewith, comprising: means for delivering parts to the machine tools; a central source of programs for controlling machining operations at all of the machine tools; control means responsive to a process indicia for coupling to each machine tool the program from said central source which controls the machining operation to be performed on a part delivered to that machine tool and which part is identified by said process indicia; means for sensing at one of said machine tools the occurrence of a condition which requires correction, and means responsive to the sensed occurrence of a condition which requires correction for stopping the running of a program coupled from said central source to the machine tool at which the condition occurred.
 5. The control system of claim 4 including means responsive to the sensed occurrence of a condition which requires correction for retaining at least the remaining portion of the stopped program, means for placing said system in condition for continuing machining operations on said part, and means for running said remaining portion of said stopped program on said part in order to complete the machining operations thereon.
 6. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has a process indicia associated therewith, comprising: means for delivering parts to the machine tools; a central source of programs for controlling machining operations at all of the machine tools; control means responsive to a process indicia for coupling to each machine tool the program from said central source which controls the machining operation to be performed on a part delivered to that machine tool and which part is identified by said process indicia; a central supply of tools for use by more than one of said plurality of machine tools; means for identifying the tools which will be necessary for performing the machining operations controlled by a given program at a selected one of said plurality of machine tools; and means responsive to said identifying means for causing the identified tools to be conveyed from said central supply of tools to said selected one machine tool.
 7. A control system for controlling a plurality of machine tools some of which are capable of performing similar machining operations on a part, comprising: a computer having a program memory for storing a plurality of different programs, each program being capable of controlling more than one of said plurality of machine tools to produce the same series of machining operations on a part, wherein each part is assigned a process indicia which identifies the part, and said computer has a parts location memory for storing the process indicia which identifies each part in the system; a plurality of data links for coupling said computer to each of said plurality of machine tools in order to transmit a program stored in said program meMory to any one of said plurality of machine tools; a central supply of parts on which similar and different series of machining operations are to be performed by any one of said plurality of machine tools; means for conveying a part from said central supply to one of said plurality of machine tools; means for generating a signal which identifies the series of machining operations which are to be performed on said conveyed part; means for selecting the program stored in said program memory which controls the same series of machining operations as identified by the signal from said generating means and for transmitting said last named program over the data link connected to the machine tool to which said part has been conveyed; sensing means for recording the passage of parts past predetermined locations along said conveying means; and said computer is responsive to said sensing means for continuously updating the location of process indicia in said parts location memory in order that the location of process indicia in said parts location memory corresponds with the instantaneous location of the parts along said conveying means.
 8. The control system of claim 7 wherein said sensing means are located at branch positions along said conveying means at which a part can take one of a plurality of paths.
 9. A control system for controlling a plurality of machine tools some of which are capable of performing similar machining operations on a part, comprising: a computer having a program memory for storing a plurality of different programs, each program being capable of controlling more than one of said plurality of machine tools to produce the same series of machining operations on a part, wherein each part is assigned a process indicia which identifies the part, and said computer has a parts location memory for storing the process indicia which identifies each part in the system; a plurality of data links for coupling said computer to each of said plurality of machine tools in order to transmit a program stored in said program memory to any one of said plurality of machine tools; a central supply of parts on which similar and different series of machining operations are to be performed by any one of said plurality of machine tools; means for conveying a part from said central supply to one of said plurality of machine tools; means for generating a signal which identifies the series of machining operations which are to be performed on said conveyed part; means for selecting the program stored in said memory which controls the same series of machining operations as identified by the signal from said generating means and for transmitting said last named program over the data link connected to the machine tool to which said part has been conveyed; reidentification means responsive to the completion of a machining operation for assigning to a machined part a new process indicia representative thereof; and means for substituting said new process indicia for the previous process indicia stored in the parts location memory.
 10. A control system for controlling a plurality of machine tools some of which are capable of performing similar machining operations on a part, comprising: a computer having a memory for storing a plurality of different programs, each program being capable of controlling more than one of said plurality of machine tools to produce the same series of machining operations on a part; a plurality of data links for coupling said computer to each of said plurality of machine tools in order to transmit a program stored in said memory to any one of said plurality of machine tools; a central supply of parts on which similar and different series of machining operations are to be performed by any one of said plurality of machine tools; means for conveying a part from said central supply to one of said plurality of machine tools; means for generating a signal which identiFies the series of machining operations which are to be performed on said conveyed part; means for selecting the program stored in said memory which controls the same series of machining operations as identified by the signal from said generating means and for transmitting said last named program over the data link connected to the machine tool to which said part has been conveyed; means for sensing at one of said machine tools the occurrence of a condition which requires correction; and means responsive to the sensed occurrence of a condition which requires correction for stopping the running of a program coupled from said computer to the machine tool at which the condition occurred.
 11. A control system for controlling a plurality of machine tools some of which are capable of performing similar machining operations on a part, comprising: a computer having a memory for storing a plurality of different programs, each program being capable of controlling more than one of said plurality of machine tools to produce the same series of machining operations on a part; a plurality of data links for coupling said computer to each of said plurality of machine tools in order to transmit a program stored in said memory to any one of said plurality of machine tools; a central supply of parts on which similar and different series of machining operations are to be performed by any one of said plurality of machine tools; means for conveying a part from said central supply to one of said plurality of machine tools; means for generating a signal which identifies the series of machining operations which are to be performed on said conveyed part; means for selecting the program stored in said memory which controls the same series of machining operations as identified by the signal from said generating means and for transmitting said last named program over the data link connected to the machine tool to which said part has been conveyed; a central supply of tools for use by more than one of said plurality of machine tools; means for identifying the tools which will be necessary for performing the machining operations controlled by a given program at a selected one of said plurality of machine tools; and means responsive to said identifying means for causing the identified tools to be conveyed from said central supply of tools to said selected one machine tool.
 12. A control system for controlling a plurality of machine tools each using a plurality of tools for performing different machining operations on a part, comprising: a central supply of tools for use by more than one of said plurality of machine tools; conveying means for transporting tools from said central supply to any of said machine tools; means for identifying at least some of the tools which will be necessary for performing a series of machining operations at one of said plurality of machine tools; and control means responsive to the identifying means for causing said conveying means to transport the identified tools from said central supply to said one machine tool.
 13. The control system of claim 12 including a plurality of tool carriers each carrying a single tool therein, means located adjacent each machine tool for temporarily storing tools which are to be used in machining a part, a loop conveyor for circulating said tool carriers adjacent the temporary storing means at each of said machine tools, said control means causing the individual tool carriers which carry identified tools to be shunted from said loop conveyor to the temporary storing means associated with the machine tool at which the series of machining operations is to be performed.
 14. The control system of claim 13 wherein each of said machine tools includes an automatic tool changer positioned to remove a single tool from its tool carrier and place the same in position in said machine tool and thereafter replace said tool back into the same tOol carrier before removing the next tool from its tool carrier.
 15. The control system of claim 12 wherein each of said tools is assigned a tool indicia which identifies the tool, and a central computer with a tools location memory for storing the tool indicia which identify each tool in the system.
 16. The control system of claim 15 including sensing means for recording the passage of parts and tools past predetermined locations, and said computer has a parts location memory for storing process indicia which identifies each part, said computer being responsive to said sensing means for continuously updating the location of process indicia and tool indicia in said parts location memory and said tools location memory respectively in order that the location of process indicia and tool indicia in said parts location memory and said tools location memory respectively corresponds with the instantaneous location of the parts and tools in the system.
 17. The control system of claim 12 including a fixed location supply of tools for use by a particular one machine tool to supplement tools from said central supply, said identifying means identifying tools located in both said central supply and said fixed location supply which are necessary for performing a series of machining operations at said particular one machine tool, and tool changer means associated with said particular one machine tool and responsive to said identifying means for individually selecting and transporting tools from both said conveying means and said fixed location supply to said particular one machine tool.
 18. A control system for controlling a plurality of machine tools capable of selectively performing similar or different machining operations on parts delivered to said machine tools, which parts may be the same or different and each of which has a process indicia associated therewith, comprising: conveying means for transporting a part from a part supply location to individual supply locations for each of said plurality of machine tools, including eject means located at one of said individual supply locations and actuable to deliver a part adjacent thereto to a particular machine tool; a programmable computer forming a central source of programs for controlling machining operations at the machine tools, including a recirculating memory for continuously recording the location and identity of parts being transported by said conveying means, and means for selecting a part as identified by a particular process indicia for delivery to said particular machine tool; and control means for actuating said eject means when said particular process indicia is located in said recirculating memory at the individual supply location adjacent said eject means. 